<script>
	// import {
	// 	checkUpdate
	// } from "@/components/yzhua006-update/js/app-update-check.js";
	// APP 和 小程序平台
	// #ifdef  APP-PLUS || MP-WEIXIN   
	// import TIM from 'tim-wx-sdk';
	import COS from 'cos-wx-sdk-v5';
	import TIM from 'tim-js-sdk/tim-js-friendship.js';
	// #endif

	// #ifdef H5
	import TIM from 'tim-js-sdk';
	import TIMUploadPlugin from 'tim-upload-plugin'
	logger.error(' TUIKit 暂不支持 H5 / web ，请使用者自己完成兼容哦，页面刷新可能会导致报错，需要重新登录 ');
	// #endif

	// #ifdef APP-PLUS
	import Aegis from 'aegis-weex-sdk';
	// #endif

	// #ifdef MP-WEIXIN
	import Aegis from 'aegis-mp-sdk';
	// #endif

	// #ifdef H5
	import Aegis from 'aegis-web-sdk';
	// #endif

	import logger from './utils/logger'; // app.js
	import {
		genTestUserSig
	} from './debug/GenerateTestUserSig.js';

	const aegis = new Aegis({
		id: 'iHWefAYqKznuxWjLnr', // 项目key
		reportApiSpeed: true, // 接口测速
	});
	uni.$aegis = aegis
	// 首先需要通过 uni.requireNativePlugin("ModuleName") 获取 module
	// #ifdef APP-PLUS
	const TUICalling = uni.requireNativePlugin('TUICallingUniPlugin-TUICallingModule');
	logger.log(`| app |  TUICallingUniPlugin-TUICallingModule | TUICalling: ${TUICalling}`);
	if (typeof(TUICalling) == 'undefined') {
		logger.error(
			'如果需要音视频功能，请集成原生插件，使用真机运行并且自定义基座调试哦～ 插件地址：https://ext.dcloud.net.cn/plugin?id=7097 , 调试地址：https://nativesupport.dcloud.net.cn/NativePlugin/use/use'
		);
	}
	// #endif
	export default {
		onLaunch() {
			// let versionCodes;
			// plus.runtime.getProperty(plus.runtime.appid, inf => {
			// 	versionCodes = inf.version;
			// });
			// console.log('当前版本号:' + versionCodes)
			//查询是否更新
			// uni.request({
			// 	url: 'https://www.huijiank.com/api/index/appversion',
			// 	data: {
			// 		'versionCode': '1.0.0'
			// 	},
			// 	success: (res) => {
			// 		console.log(res, '更新123');
			// 		//请求获取最新版本
			// 		// setTimeout(() => {
			// 			let update_info = {
			// 				version:res.data.data.newversion, //线上版本
			// 				now_url:res.data.data.downloadurl, //更新链接
			// 				silent: 0, //是否是静默更新
			// 				force: 1, //是否是强制更新
			// 				net_check: 1, //非WIfi是否提示
			// 				note:res.content, //更新内容
			// 			}
			// 			console.log(update_info,'测绘')
			// 			checkUpdate(update_info, 0).then(res => {
			// 				if (res.msg) {
			// 					plus.nativeUI.toast(res.msg);
			// 				}
			// 			});
			// 	},
			// })
			const SDKAppID = genTestUserSig('').sdkAppID;
			uni.$aegis.reportEvent({
				name: 'onLaunch',
				ext1: 'onLaunch-success',
				ext2: 'uniTuikitExternal',
				ext3: `${SDKAppID}`,
			})
			uni.setStorageSync(`TIM_${SDKAppID}_isTUIKit`, true);
			// 重点注意： 为了 uni-app 更好地接入使用 tim，快速定位和解决问题，请勿修改 uni.$TUIKit 命名。
			// 如果您已经接入 tim ，请将 uni.tim 修改为 uni.$TUIKit。
			uni.$TUIKit = TIM.create({
				SDKAppID: SDKAppID
			});
			// #ifndef H5
			uni.$TUIKit.registerPlugin({
				'cos-wx-sdk': COS
			});
			// #endif

			// #ifdef H5
			uni.$TUIKit.registerPlugin({
				'tim-upload-plugin': TIMUploadPlugin
			})
			// #endif
			// 将原生插件挂载在 uni 上
			// #ifdef APP-PLUS
			uni.$TUICalling = TUICalling;
			// #endif
			// 如果您已创建了 tim，请将 tim 实例挂载在 wx 上，且不可以修改 wx.$TIM（修改变量可能导致 TUICalling 组件无法正常使用）, 完成 TUICalling 初始化，
			// 如果您没有创建，可以不传
			// #ifdef MP-WEIXIN
			wx.$TIM = uni.$TUIKit;
			// #endif
			uni.$TUIKitTIM = TIM;
			uni.$TUIKitEvent = TIM.EVENT;
			uni.$TUIKitVersion = TIM.VERSION;
			uni.$TUIKitTypes = TIM.TYPES; // 监听系统级事件
			uni.$resetLoginData = this.resetLoginData();
			uni.$TUIKit.on(uni.$TUIKitEvent.SDK_READY, this.onSDKReady);
			uni.$TUIKit.on(uni.$TUIKitEvent.SDK_NOT_READY, this.onSdkNotReady);
			uni.$TUIKit.on(uni.$TUIKitEvent.KICKED_OUT, this.onKickedOut);
			uni.$TUIKit.on(uni.$TUIKitEvent.ERROR, this.onTIMError);
			uni.$TUIKit.on(uni.$TUIKitEvent.NET_STATE_CHANGE, this.onNetStateChange);
			uni.$TUIKit.on(uni.$TUIKitEvent.SDK_RELOAD, this.onSDKReload);
		},
		globalData: {
			// userInfo: userID userSig token phone
			userInfo: null,
			// 个人信息
			userProfile: null,
			isTUIKit: true,
			headerHeight: 0,
			statusBarHeight: 0,
			SDKAppID: genTestUserSig('').sdkAppID
		},
		methods: {
			// TODO:
			resetLoginData() {
				this.globalData.expiresIn = '';
				this.globalData.sessionID = '';
				this.globalData.userInfo = {
					userID: '',
					userSig: '',
					token: '',
					phone: ''
				};
				this.globalData.userProfile = null;
				logger.log(`| app |  resetLoginData | globalData: ${this.globalData}`);
			},
			onTIMError() {},
			onSDKReady({
				name
			}) {
				const isSDKReady = name === uni.$TUIKitEvent.SDK_READY ? true : false
				uni.$emit('isSDKReady', {
					isSDKReady: true
				});
			},
			onNetStateChange() {},
			onSDKReload() {},
			onSdkNotReady() {},
			onKickedOut() {
				uni.showToast({
					title: '您被踢下线',
					icon: 'error'
				});
				uni.navigateTo({
					url: './pages/TUI-Login/login'
				});
			}
		}
	};
</script>

<style lang="scss">
	@import "uview-ui/index.scss";
	@import "./common.css";
	/*每个页面公共css */

	ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.uni-tabbar__bd {
		height: 110rpx !important;

		.uni-tabbar__icon {
			width: 50rpx !important;
			height: 60rpx !important;
		}

		.uni-tabbar__label {
			font-size: 22rpx !important;
		}
	}

	.uni-tabbar {
		>div:nth-child(4) {
			.uni-tabbar__icon {
				width: 40rpx !important;
				height: 65rpx !important;
			}
		}
	}
</style>